<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

    <h:body>

        <ui:composition template="/template.xhtml">

            <ui:define name="title">
                <h:form>
                    <p:tabMenu activeIndex="#{param.i}">
                        <p:menuitem value="Control de Asistencia" outcome="/admin/asistencia/index" icon="ui-icon-person">
                            <f:param name="i" value="0" />
                        </p:menuitem>
                        <p:menuitem value="Registros de Asistencia" outcome="/admin/asistencia/registros" icon="ui-icon-disk">
                            <f:param name="i" value="1" />
                        </p:menuitem>
                        <p:menuitem value="Reportes" outcome="/admin/asistencia/reporte" icon="ui-icon-document">
                            <f:param name="i" value="2" />
                        </p:menuitem>
                    </p:tabMenu>
                </h:form>
            </ui:define>

            <ui:define name="left">
            </ui:define>

            <ui:define name="body">

                <h:form style="margin-bottom: 50px;">
                    <p:breadCrumb>
                        <p:menuitem value="Categories" url="/faces/index.xhtml" />
                        <p:menuitem value="Registros Asistencia" url="/faces/asistencia/registros.xhtml" />
                    </p:breadCrumb>
                </h:form>

                <h1 class="title" style="text-align: center;">Registros de Asistencia</h1>
                <p style="font-size: 20px;">A continuación se listan los registros de asistencia ingresados al sistema, ordenados por fecha de registro, adicionalmente se tiene la opción de eliminar registros de asistencia.</p>

                <h:form id="form">

                    <p:dataTable id="checkboxDT" widgetVar="asistenciaTable" var="asistencia" value="#{asistenciaController.listaAsistencias}" rows="10" 
                                 selection="#{asistenciaController.asistenciasSeleccionadas}" rowKey="#{asistencia.idAsistencia}" filteredValue="#{asistenciaController.filteredAsistencias}"
                                 emptyMessage="La busqueda no obtuvo resultados"
                                 paginator="true" currentPageReportTemplate="{startRecord}-{endRecord} de {totalRecords}"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">
                        <f:facet name="header">
                            <h:outputText value="Asistencias" style="font-size: 24px; float: left;"/>
                            <p:outputPanel style="text-align: right">
                                <h:outputText value="Buscar en todos los valores:" style="margin-right: 5px;"/>
                                <p:inputText id="globalFilter"  onkeyup="PF('asistenciaTable').filter()" placeholder="Palabra clave"/>
                            </p:outputPanel> 
                        </f:facet>

                        <p:column filterBy="#{asistencia.idusuario.identification}" headerText="Identificación">
                            <h:outputText value="#{asistencia.idusuario.identification}" />
                        </p:column>

                        <p:column filterBy="#{asistencia.idusuario.secondname}" headerText="Apellidos">
                            <h:outputText value="#{asistencia.idusuario.secondname}" />
                        </p:column>

                        <p:column filterBy="#{asistencia.idusuario.fisrtname}" headerText="Nombres">
                            <h:outputText value="#{asistencia.idusuario.fisrtname}" />
                        </p:column>

                        <p:column headerText="Fecha de Registro">
                            <f:facet name="header">Fecha
                                <div>
                                    <p:calendar id="fechaFiltro" maxdate="+0" value="#{asistenciaController.fechaFiltro}" styleClass="calendarFilter" locale="es" navigator="true">
                                        <p:ajax event="dateSelect" listener="#{asistenciaController.filtrarFecha}" update=":form:checkboxDT" />
                                    </p:calendar>
                                </div>
                            </f:facet>
                            <h:outputText value="#{asistencia.fecha}">
                                <f:convertDateTime pattern="dd/MM/yy" />
                            </h:outputText>
                        </p:column>

                        <p:column selectionMode="multiple" style="width:2%;text-align:center"/>

                        <f:facet name="footer">
                            <p:commandButton process="checkboxDT" update=":form:growl,:form:checkboxDT" value="Eliminar" style="font-size: 18px" actionListener="#{asistenciaController.eliminarAsistencia()}">
                                <p:confirm header="Confirmación" message="¿Esta seguro de eliminar los registros seleccionados?" icon="ui-icon-alert" />
                            </p:commandButton>
                        </f:facet>

                    </p:dataTable>

                    <p:growl id="growl" showDetail="true" escape="false" />      

                    <p:confirmDialog global="true" showEffect="fade" hideEffect="explode">
                        <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                    </p:confirmDialog>

                </h:form>
            </ui:define>

            <ui:define name="bottom">
            </ui:define>

        </ui:composition>

    </h:body>
</html>